1) Field of the Invention
The present invention relates to a distributed control method and apparatus designed to execute distributed control through cooperative operations in a manner such that, for a lot of tasks to be distributively executed, a lot of nodes connected to a network and capable of implementing multitasking operations communicate messages to each other.
2) Description of the Related Art
So far, in fields such as an in-vehicle LAN requiring strict conditions in processing speed and processing time assurance, for constructing a distributed control system which makes a lot of nodes connected to a network execute distributed control, there have been employed a real-time operating system (which will be referred to hereinafter as a “real-time OS”) whereby each of the nodes executes multitasking operations and a CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) forming a communication system for making real-time communications between the nodes.
Of these, the real-time OS sets a priority with respect to each of tasks in advance and schedules so that execution rights in the nodes (execution rights in a CPU) are allocated to the tasks in the order of decreasing priorities. Moreover, the CSMA/CA is of a communication type previously setting an ID (Identification) corresponding to a priority with respect to each message for use in communications and, when a lot of nodes transmit messages simultaneously, arbitrating so that the message having an ID with the highest priority transmits.
Thus, in a system based on a combination of the real-time OS and the CSMA/CA, the real-time performance of the system is improvable as a whole when higher priorities are allocated to tasks or messages stricter in processing time.
In addition to the above-mentioned method, there has been known a distributed control system based on a so-called time triggered method in which an execution time of each of tasks in all nodes and a communication time of each of messages between the respective nodes are set in advance for operating as set so that the distributed control to be executed distributively in the respective nodes satisfies a required condition on a deadline.
This time triggered method is written, for example, in the following documents:
S. Poledna, et. al., “OSEKtime: A Dependable Real-Time Fault-Tolerant Operating System and Communication Layer as an Enabling Technology for By-Wire Applications”, SAE2000-01-1051, and
Thomas Fuehrer, “The Steer-By-Wire Prototype Implementation: Realizing Time Triggered System Design, FailSilence Behavior and Active Replication with Fault-Tolerance Support”, SAE 1999-01-0400.
A distributed control system employing this method can eliminate the task competition in a node and the communication competition between the nodes, thereby removing indeterminate operations in the system to ensure the processing time.
Meanwhile, the former distributed control system using the real-time OS and the CMSA/CA is the best effort type operations, that is, to execute as much processing as possible in a capability range of a CPU with respect to tasks with higher priorities, and, for this reason, it cannot ensure whether the processing for each task or the message communication comes to an end within a prescribed period of time.
Accordingly, for ensuring that the system fulfills the requested deadline condition, the distributed control is required to demonstrate it through the actually operation of the system. Moreover, in a case in which it cannot ensure its performance, there arises a need to change the priorities of tasks or messages, operating frequency of the CPU, transfer rate on communication, and others.
However, difficulty is encountered in clearly making a prescription about how the change in priority of task or message exerts influence on the entire control, thus resulting in requiring the change in priority and others through the use of a method of try and error. This creates a problem in an increase in the number of development steps.
In addition, in a state where the priority of task or message is in a non-optimized condition, fulfilling the requested deadline condition leads to taking up a higher CPU operating frequency or communication rate on a transmission line than is necessary, which causes an increase in manufacturing cost.
On the other hand, in the case of the latter distributed control system employing the time triggered method, a designer (user) is required to determine all the execution time of a task operating on each node and a communication time between the nodes, and for entirely satisfying the response time, control cycle and others needed in a lot of distributed control to be implemented in parallel on the system, the design therefor takes an extremely long time, which leads to an increase in development steps.
Moreover, the time triggered method requires that, also for the distributed control system when being triggered by a given asynchronous event, the task execution time and the communication time are required to be fixedly scheduled on the assumption that this event occurs at all times. This requires an excessive overhead for the processing of a CPU on a node or for the communication on a network, which not only lowers the service efficiency of the CPU or the network, but also makes it difficult to ensure the real-time performance of the processing on the asynchronous event because, irrespective of input of an asynchronous event, not until reaching the previously scheduled time the processing for that event starts. For this reason, difficulty is experienced in ensuring the real-time performance of the processing with respect to such an asynchronous event.